/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/*
 * msnConectado.java
 *
 * Created on 31/08/2011, 04:56:24 PM
 */
package UI;

import java.awt.event.MouseEvent;
import java.rmi.NotBoundException;
import java.rmi.RemoteException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JTable;
import msnclient.Controladora;
import msnclient.ONuevoChat;
import msncommonsc.Contacto;
import msncommonsc.EnumEstado;
import msncommonsc.MensajeDTO;

/**
 *
 * @author Agustin
 */
public class msnConectado extends javax.swing.JFrame implements ONuevoChat {
    
    private static msnConectado instance;
    private msnTableModel miTableModel;
    
    public static msnConectado getInstancia() throws RemoteException, NotBoundException {
        if (instance == null) {
            instance = new msnConectado();
        }
        return instance;
    }
    
    public void actualizar() throws RemoteException, NotBoundException {
        msnTableModel tbml = new msnTableModel();
        tblContactos.setModel(tbml);
        Controladora.getInstancia().setTablaContactos(tbml);
    }
    
    public void recibirChat(MensajeDTO msj) throws RemoteException, NotBoundException {
        msnVentanaChat ventanaChat = new msnVentanaChat(msj.getOrigen());
        ventanaChat.getVentanaChat().notificarRecibir(msj);
        ventanaChat.setVisible(true);
    }

    /** Creates new form msnConectado */
    public msnConectado() throws RemoteException, NotBoundException {
        this.miTableModel = new msnTableModel();
        initComponents();
        tblContactos.setModel(miTableModel);
        Controladora.getInstancia().setTablaContactos(miTableModel);
        lblNombredeUsuarioValor.setText(Controladora.getInstancia().obtenerPersona().getNombre());
        txtNick.setText(Controladora.getInstancia().obtenerPersona().getNick());
        String e = Controladora.getInstancia().obtenerPersona().getEstado();
        jRadioButtonMenuItem1.setSelected(Controladora.getInstancia().obtenerPersona().isGuardarC());
        if (e.equals("CONECTADO") | e.equals("DESCONECTADO")) {
            cmbEstado.setSelectedIndex(0);
        } else if (e.equals("AUSENTE")) {
            cmbEstado.setSelectedIndex(1);
        } else if (e.equals("INVISIBLE")) {
            cmbEstado.setSelectedIndex(2);
        } else if (e.equals("NO_DISPONIBLE")) {
            cmbEstado.setSelectedIndex(3);
        }
        setEventoMouseClicked();
        Controladora.getInstancia().setNuevoChat(this);
    }
    
    private void setEventoMouseClicked() {
        
        tblContactos.addMouseListener(new java.awt.event.MouseAdapter() {
            
            @Override
            public void mouseClicked(MouseEvent e) {
                tblContactosMouseClicked(e);
            }
        });
    }
    
    private void tblContactosMouseClicked(java.awt.event.MouseEvent evt) {
        String cadena = "";
        int row = this.tblContactos.rowAtPoint(evt.getPoint());
        if (row >= 0 && tblContactos.isEnabled()) {
            for (int i = 0; i < tblContactos.getColumnCount(); i++) {
                cadena = cadena + " " + miTableModel.getValueAt(row, i).toString();
                System.out.println(cadena);
                Contacto cont = (Contacto) this.miTableModel.getValueAt(row, i);
                try {
                    msnVentanaChat ventanaChat = new msnVentanaChat(cont.getNombre());
                    ventanaChat.setVisible(true);
                } catch (RemoteException ex) {
                    Logger.getLogger(msnConectado.class.getName()).log(Level.SEVERE, null, ex);
                } catch (NotBoundException ex) {
                    Logger.getLogger(msnConectado.class.getName()).log(Level.SEVERE, null, ex);
                }
            }
        }
        
    }

    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        lblNickName = new javax.swing.JLabel();
        lblNombredeUsuario = new javax.swing.JLabel();
        lblNombredeUsuarioValor = new javax.swing.JLabel();
        cmbEstado = new javax.swing.JComboBox();
        separadorEstado = new javax.swing.JSeparator();
        BarraEstado = new javax.swing.JTextField();
        lblContacto = new javax.swing.JLabel();
        jScrollPane1 = new javax.swing.JScrollPane();
        tblContactos = new javax.swing.JTable();
        bntAgregar = new javax.swing.JButton();
        jScrollPane2 = new javax.swing.JScrollPane();
        txtAgregarContacto = new javax.swing.JTextPane();
        lblAgregarContacto = new javax.swing.JLabel();
        jScrollPane3 = new javax.swing.JScrollPane();
        txtNick = new javax.swing.JTextPane();
        jMenuBar1 = new javax.swing.JMenuBar();
        jMenu1 = new javax.swing.JMenu();
        jSeparator1 = new javax.swing.JPopupMenu.Separator();
        jMenuItem3 = new javax.swing.JMenuItem();
        jMenuItem4 = new javax.swing.JMenuItem();
        jMenu2 = new javax.swing.JMenu();
        jMenuItem1 = new javax.swing.JMenuItem();
        jRadioButtonMenuItem1 = new javax.swing.JRadioButtonMenuItem();
        jMenuItem2 = new javax.swing.JMenuItem();

        setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);

        lblNickName.setText("NickName : ");
        lblNickName.setName("lblNickName"); // NOI18N

        lblNombredeUsuario.setText("Nombre de Usuario : ");
        lblNombredeUsuario.setName("lblNombredeUsuario"); // NOI18N

        lblNombredeUsuarioValor.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        lblNombredeUsuarioValor.setText("---------");
        lblNombredeUsuarioValor.setName("lblNombredeUsuarioValor"); // NOI18N

        cmbEstado.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "CONECTADO", "AUSENTE", "INVISIBLE", "NO_DISPONIBLE" }));
        cmbEstado.setName("cmbEstado"); // NOI18N
        cmbEstado.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                cmbEstadoMouseClicked(evt);
            }
        });
        cmbEstado.addItemListener(new java.awt.event.ItemListener() {
            public void itemStateChanged(java.awt.event.ItemEvent evt) {
                cmbEstadoItemStateChanged(evt);
            }
        });
        cmbEstado.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                cmbEstadoActionPerformed(evt);
            }
        });
        cmbEstado.addPropertyChangeListener(new java.beans.PropertyChangeListener() {
            public void propertyChange(java.beans.PropertyChangeEvent evt) {
                cmbEstadoPropertyChange(evt);
            }
        });

        separadorEstado.setName("separadorEstado"); // NOI18N

        BarraEstado.setEnabled(false);
        BarraEstado.setName("BarraEstado"); // NOI18N

        lblContacto.setText("Contactos");
        lblContacto.setName("lblContacto"); // NOI18N

        jScrollPane1.setName("jScrollPane1"); // NOI18N

        tblContactos.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {

            },
            new String [] {

            }
        ));
        tblContactos.setColumnSelectionAllowed(true);
        tblContactos.setName("tblContactos"); // NOI18N
        jScrollPane1.setViewportView(tblContactos);
        tblContactos.getColumnModel().getSelectionModel().setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);

        bntAgregar.setText("+");
        bntAgregar.setName("bntAgregar"); // NOI18N
        bntAgregar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                bntAgregarActionPerformed(evt);
            }
        });

        jScrollPane2.setName("jScrollPane2"); // NOI18N

        txtAgregarContacto.setName("txtAgregarContacto"); // NOI18N
        jScrollPane2.setViewportView(txtAgregarContacto);

        lblAgregarContacto.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        lblAgregarContacto.setText("Agregar Contacto");
        lblAgregarContacto.setName("lblAgregarContacto"); // NOI18N

        jScrollPane3.setName("jScrollPane3"); // NOI18N

        txtNick.setName("txtNick"); // NOI18N
        txtNick.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusLost(java.awt.event.FocusEvent evt) {
                txtNickFocusLost(evt);
            }
        });
        jScrollPane3.setViewportView(txtNick);

        jMenuBar1.setName("jMenuBar1"); // NOI18N

        jMenu1.setText("Archivo");
        jMenu1.setName("jMenu1"); // NOI18N

        jSeparator1.setName("jSeparator1"); // NOI18N
        jMenu1.add(jSeparator1);

        jMenuItem3.setText("Salir");
        jMenuItem3.setName("jMenuItem3"); // NOI18N
        jMenuItem3.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem3ActionPerformed(evt);
            }
        });
        jMenu1.add(jMenuItem3);

        jMenuItem4.setText("Cerrar Secion");
        jMenuItem4.setName("jMenuItem4"); // NOI18N
        jMenuItem4.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem4ActionPerformed(evt);
            }
        });
        jMenu1.add(jMenuItem4);

        jMenuBar1.add(jMenu1);

        jMenu2.setText("Herramientas");
        jMenu2.setName("jMenu2"); // NOI18N
        jMenu2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenu2ActionPerformed(evt);
            }
        });

        jMenuItem1.setText("Cambiar Contraeña");
        jMenuItem1.setName("jMenuItem1"); // NOI18N
        jMenuItem1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem1ActionPerformed(evt);
            }
        });
        jMenu2.add(jMenuItem1);

        jRadioButtonMenuItem1.setSelected(true);
        jRadioButtonMenuItem1.setText("Guardar Combersacion");
        jRadioButtonMenuItem1.setName("jRadioButtonMenuItem1"); // NOI18N
        jRadioButtonMenuItem1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jRadioButtonMenuItem1ActionPerformed(evt);
            }
        });
        jMenu2.add(jRadioButtonMenuItem1);

        jMenuItem2.setText("Ver Combersaciones");
        jMenuItem2.setName("jMenuItem2"); // NOI18N
        jMenuItem2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem2ActionPerformed(evt);
            }
        });
        jMenu2.add(jMenuItem2);

        jMenuBar1.add(jMenu2);

        setJMenuBar(jMenuBar1);

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addComponent(lblNombredeUsuario)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(lblNombredeUsuarioValor, javax.swing.GroupLayout.DEFAULT_SIZE, 172, Short.MAX_VALUE)
                        .addGap(64, 64, 64))
                    .addGroup(layout.createSequentialGroup()
                        .addGap(10, 10, 10)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                            .addGroup(layout.createSequentialGroup()
                                .addComponent(lblNickName)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(jScrollPane3, javax.swing.GroupLayout.PREFERRED_SIZE, 156, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(cmbEstado, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                            .addComponent(lblContacto))))
                .addGap(22, 22, 22))
            .addGroup(layout.createSequentialGroup()
                .addGap(150, 150, 150)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                    .addComponent(lblAgregarContacto, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(jScrollPane2, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 120, Short.MAX_VALUE))
                .addGap(18, 18, 18)
                .addComponent(bntAgregar)
                .addContainerGap())
            .addComponent(separadorEstado, javax.swing.GroupLayout.DEFAULT_SIZE, 375, Short.MAX_VALUE)
            .addComponent(BarraEstado, javax.swing.GroupLayout.DEFAULT_SIZE, 375, Short.MAX_VALUE)
            .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 375, Short.MAX_VALUE)
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(lblNombredeUsuario)
                    .addComponent(lblNombredeUsuarioValor, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addGap(21, 21, 21)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addGroup(layout.createSequentialGroup()
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(lblNickName)
                            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                                .addComponent(cmbEstado, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addComponent(jScrollPane3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
                        .addGap(44, 44, 44))
                    .addGroup(layout.createSequentialGroup()
                        .addComponent(lblContacto)
                        .addGap(11, 11, 11)))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 318, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(11, 11, 11)
                .addComponent(lblAgregarContacto)
                .addGap(5, 5, 5)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(bntAgregar)
                    .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(separadorEstado, javax.swing.GroupLayout.PREFERRED_SIZE, 11, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(BarraEstado, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
        );

        pack();
    }// </editor-fold>//GEN-END:initComponents

    private void bntAgregarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_bntAgregarActionPerformed
        try {
            BarraEstado.setText(Controladora.getInstancia().agregarContacto(txtAgregarContacto.getText() + "@mmail.com.uy"));
            txtAgregarContacto.setText("");
        } catch (RemoteException ex) {
            Logger.getLogger(msnConectado.class.getName()).log(Level.SEVERE, null, ex);
        } catch (NotBoundException ex) {
            Logger.getLogger(msnConectado.class.getName()).log(Level.SEVERE, null, ex);
        }
    }//GEN-LAST:event_bntAgregarActionPerformed
    
    private void txtNickFocusLost(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_txtNickFocusLost
        try {
            Controladora.getInstancia().cambiarDatosPersonales(txtNick.getText(), "", "");
            
            
        } catch (RemoteException ex) {
            Logger.getLogger(msnConectado.class.getName()).log(Level.SEVERE, null, ex);
        } catch (NotBoundException ex) {
            Logger.getLogger(msnConectado.class.getName()).log(Level.SEVERE, null, ex);
        }
    }//GEN-LAST:event_txtNickFocusLost
    
    private void cmbEstadoPropertyChange(java.beans.PropertyChangeEvent evt) {//GEN-FIRST:event_cmbEstadoPropertyChange
    }//GEN-LAST:event_cmbEstadoPropertyChange
    
    private void cmbEstadoItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_cmbEstadoItemStateChanged
//     System.out.println(cmbEstado.getSelectedItem().toString());
    }//GEN-LAST:event_cmbEstadoItemStateChanged
    
    private void cmbEstadoMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_cmbEstadoMouseClicked
        //System.out.println(cmbEstado.getSelectedItem().toString());
    }//GEN-LAST:event_cmbEstadoMouseClicked
    
    private void cmbEstadoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmbEstadoActionPerformed
        
        EnumEstado estado = EnumEstado.AUSENTE;
        if (EnumEstado.CONECTADO.toString().equals(cmbEstado.getSelectedItem().toString())) {
            estado = EnumEstado.CONECTADO;
        } else if (EnumEstado.AUSENTE.toString().equals(cmbEstado.getSelectedItem().toString())) {
            estado = EnumEstado.AUSENTE;
        } else if (EnumEstado.INVISIBLE.toString().equals(cmbEstado.getSelectedItem().toString())) {
            estado = EnumEstado.DESCONECTADO;
        } else if (EnumEstado.NO_DISPONIBLE.toString().equals(cmbEstado.getSelectedItem().toString())) {
            estado = EnumEstado.NO_DISPONIBLE;
        }
        try {
            Controladora.getInstancia().cambiarEstado(estado);
            
            
        } catch (RemoteException ex) {
            Logger.getLogger(msnConectado.class.getName()).log(Level.SEVERE, null, ex);
        } catch (NotBoundException ex) {
            Logger.getLogger(msnConectado.class.getName()).log(Level.SEVERE, null, ex);
        }
    }//GEN-LAST:event_cmbEstadoActionPerformed
    
    private void jMenuItem3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem3ActionPerformed
        try {
            Controladora.getInstancia().desconectar();
            
            
        } catch (RemoteException ex) {
            Logger.getLogger(msnConectado.class.getName()).log(Level.SEVERE, null, ex);
        } catch (NotBoundException ex) {
            Logger.getLogger(msnConectado.class.getName()).log(Level.SEVERE, null, ex);
        }
        System.exit(0);
    }//GEN-LAST:event_jMenuItem3ActionPerformed
    
    private void jMenuItem4ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem4ActionPerformed
        try {
            Controladora.getInstancia().desconectar();
        } catch (RemoteException ex) {
            Logger.getLogger(msnConectado.class.getName()).log(Level.SEVERE, null, ex);
        } catch (NotBoundException ex) {
            Logger.getLogger(msnConectado.class.getName()).log(Level.SEVERE, null, ex);
        }
        this.dispose();
        msnMain main = new msnMain();
        main.setVisible(true);
        
    }//GEN-LAST:event_jMenuItem4ActionPerformed
    
    private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem1ActionPerformed
        msnCambiarContraseña cambio = new msnCambiarContraseña();
        cambio.setVisible(true);
        this.dispose();
        
    }//GEN-LAST:event_jMenuItem1ActionPerformed
    
    private void jRadioButtonMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jRadioButtonMenuItem1ActionPerformed
        if (this.jRadioButtonMenuItem1.isSelected()) {
            try {
                Controladora.getInstancia().guardarCombersacion(lblNombredeUsuarioValor.getText(), true);
            } catch (RemoteException ex) {
                Logger.getLogger(msnConectado.class.getName()).log(Level.SEVERE, null, ex);
            } catch (NotBoundException ex) {
                Logger.getLogger(msnConectado.class.getName()).log(Level.SEVERE, null, ex);
            }
        } else {
            try {
                Controladora.getInstancia().guardarCombersacion(lblNombredeUsuarioValor.getText(), false);
            } catch (RemoteException ex) {
                Logger.getLogger(msnConectado.class.getName()).log(Level.SEVERE, null, ex);
            } catch (NotBoundException ex) {
                Logger.getLogger(msnConectado.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
        
    }//GEN-LAST:event_jRadioButtonMenuItem1ActionPerformed
    
    private void jMenu2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenu2ActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_jMenu2ActionPerformed
    
    private void jMenuItem2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem2ActionPerformed
        msnVerCombersaciones msnvc = new msnVerCombersaciones();
        msnvc.setVisible(true);
    }//GEN-LAST:event_jMenuItem2ActionPerformed

    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            
            public void run() {
                try {
                    new msnConectado().setVisible(true);
                    
                    
                } catch (RemoteException ex) {
                    Logger.getLogger(msnConectado.class.getName()).log(Level.SEVERE, null, ex);
                } catch (NotBoundException ex) {
                    Logger.getLogger(msnConectado.class.getName()).log(Level.SEVERE, null, ex);
                }
            }
        });
    }
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JTextField BarraEstado;
    private javax.swing.JButton bntAgregar;
    private javax.swing.JComboBox cmbEstado;
    private javax.swing.JMenu jMenu1;
    private javax.swing.JMenu jMenu2;
    private javax.swing.JMenuBar jMenuBar1;
    private javax.swing.JMenuItem jMenuItem1;
    private javax.swing.JMenuItem jMenuItem2;
    private javax.swing.JMenuItem jMenuItem3;
    private javax.swing.JMenuItem jMenuItem4;
    private javax.swing.JRadioButtonMenuItem jRadioButtonMenuItem1;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JScrollPane jScrollPane2;
    private javax.swing.JScrollPane jScrollPane3;
    private javax.swing.JPopupMenu.Separator jSeparator1;
    private javax.swing.JLabel lblAgregarContacto;
    private javax.swing.JLabel lblContacto;
    private javax.swing.JLabel lblNickName;
    private javax.swing.JLabel lblNombredeUsuario;
    private javax.swing.JLabel lblNombredeUsuarioValor;
    private javax.swing.JSeparator separadorEstado;
    private javax.swing.JTable tblContactos;
    private javax.swing.JTextPane txtAgregarContacto;
    private javax.swing.JTextPane txtNick;
    // End of variables declaration//GEN-END:variables
}
